*. Sticky notes

Main font is DMA'd to VRAM as 2-bpp raw (8x8).
CF:D812 ($27d812)


There's two tables - one for all the text strings and another for the
dictionary entries.

The text can be located ONLY from $20-$5F.
The dictionary can be located ONLY from $20-$2F.

Both share the same text space ($2A8000-2EE000).
And arguably $29DFFE-29FFFF (contiguous?).

The pointer format uses some real bit-packing math and requires a
custom Atlas command for this only.


Script is coded using FULL dictionary lookup codes.
- $00 = STOP.
- $01-7F = 8-bit codes.
- $8000, $8080-FFFF = 16-bit codes (and.w #$7fff)

If you want a good swatch of DTE, relocate to $F000 range.
And rewrite _every_ routine you come across (3 and counting).


Now, the dictionary has two formats.
- Pure text.
- Code/text combination.

For practical reasons, the text is removed from #2 due to auto-indent codes.

Afterwards, match up your table/text files for re-insertion.
You don't have to use all the codes (probably not a good idea).

Check the Atlas logs.

; ============================================================================
; ============================================================================

Atlas 1.06 is modified (nothing new since 'Little Master 3')

Custom build for Metal Slader Glory
> #WRITESLADER - special address packer


NOTE: SetIndex and WriteIndex are changed (!)

> #FILL( int stop_address, int file_byte )		- pads up to stop address
  #FILL( int start, stop, int file_byte )		- pads address range
  #FILL( int start, stop, int file_byte, string file )	- pads address range IN FILE

  #WARN( int warn_address )				- OKAY/BARF if PC counter >= warn_address

  #SAVEPC( string file_name )				- writes PC to file
  #LOADPC( string file_name )				- loads PC from file

  #INSERT( string file_name )				- inserts binary file at current PC

  MSB16,MSB24,MSB32,GB4xxx				- addressing modes

  #SETINDEX( int index_number, int size )		- init the index numbers
  #WRITEINDEX( int address, int index_bump )		- writes index numbers to address, # bytes
							  and auto-bumps the index #
  #WRITEINDEX( int addr, int index_bump, string file )	- writes index number to address IN FILE

  #SAVEINDEX( string file_name )			- writes INDEX # to file
  #LOADINDEX( string file_name )			- loads INDEX # from file

  #ALIGN( int byte_count )                      	- does file alignment (1,2,3,4)

  #W08BYTE( int address, int byte )			- writes byte to address (no JMP)
  #W08BYTE( int addr, int byte, string file )		- writes byte to address IN FILE (no JMP)

  #EMBCLEAR()						- erases all embedded pointers
  #EMBSETREL( int number )				- uses relative offset pointers
  #EMBWRITEREL( int number )				- uses relative offset pointers

  #SAVEPTRTABLE( PTRTABLE table, string file_name )	- writes PTRTABLE address to file
  #LOADPTRTABLE( PTRTABLE table, string file_name )	- loads PTRTABLE address from file 
